Embodiments described herein relate generally to switch fabrics and more particularly, to the system architecture of distributed switch fabrics such as Clos networks.
Clos networks are multi-stage switch networks that provide non-blocking connections between multiple input ports and multiple output ports. A non-blocking network is a network in which a data path through the network can always be established between an idle input port and an idle output port.
A three-stage Clos network, for example, has a middle stage connected between an input stage and an output stage. Each stage includes multiple modules. Each input stage module has multiple input ports (n) and is operatively coupled to each middle stage module. Similarly, each output stage module has n output ports and is connected to each middle stage module. A three-stage network is strictly non-blocking if at least 2n−1 middle stage modules are present. In a strictly non-blocking configuration, a data path between an idle input port and an idle output port can always be established without rearranging the existing connections (i.e., the existing connections do not need to be rerouted through the switch fabric). A three-stage network is rearrangeably non-blocking if at least n middle stage modules are present. In a rearrangeably non-blocking configuration, a data path between an idle input port and an idle output port can always be established by rearranging the existing connections.
A distributed switch fabric having input stage modules with a large number of inputs/outputs and/or a switch fabric having a large number of stages has a many connections between each stage. Thus, a large number of cables are often required to connect the stages. Further, if the switch fabric is expanded such that additional inputs and/or stages are added to the switch fabric, the switch fabric typically is shut down and a large number of cables is reconfigured.
Thus, a need exists for a distributed switch fabric having fewer cable connections between stages. Further, a need exists for a distributed switch fabric that can expand to include additional inputs/outputs and/or stages without significantly increasing the cabling and/or without having to shut down during expansion.